//package cn.jekun.shop.web.service;
//
//import java.sql.Types;
//import java.text.SimpleDateFormat;
//import java.util.Date;
//import java.util.HashMap;
//import java.util.List;
//import java.util.Map;
//
//import javax.annotation.Resource;
//
//import net.sf.json.JSONObject;
//
//import org.apache.commons.lang.StringUtils;
//import org.springframework.stereotype.Service;
//
//import cn.jekun.component.base.exceptions.BusinessException;
//import cn.jekun.component.base.utils.EncryptUtil;
//import cn.jekun.component.base.utils.SqlUtis;
//import cn.jekun.component.base.validator.annotation.Mobile;
//import cn.jekun.component.base.validator.annotation.Security;
//import cn.jekun.component.core.Constants;
//import cn.jekun.component.core.bean.gen.ErpOrders;
//import cn.jekun.component.core.bean.gen.ErpTxnSeq;
//import cn.jekun.component.core.bean.gen.RsUser;
//import cn.jekun.component.core.service.ComponentCoreService;
//import cn.jekun.component.core.service.gen.ErpOrdersService;
//import cn.jekun.component.core.service.gen.ErpTxnSeqService;
//import cn.jekun.component.pay.base.BasePay;
//import cn.jekun.component.pay.common.service.CommonMethodService;
//import cn.jekun.component.pay.webpay.BestPay;
//@Service(BestPayService.BEAN_NAME)
//public class BestPayService extends ComponentCoreService{
//	public static final String BEAN_NAME = "cn.jekun.shop.web.service.BestPayService";
//	@Resource(name=BestPay.BEAN_NAME)
//	BestPay tempBestPay;
//	@Resource(name=ErpTxnSeqService.BEAN_NAME)
//	ErpTxnSeqService erpTxnSeqService;
//	@Resource(name=ErpOrdersService.BEAN_NAME)
//	ErpOrdersService erpOrdersService;	
//	@Resource(name=CommonMethodService.BEAN_NAME)
//	CommonMethodService commonMethodService;
//	/**
//	 * 生成翼支付所需参数
//	 * @param order 订单号
//	 * @param clientIp 客户端IP
// 	 * @param userId 用户ID
//	 * @param mobile 手机号码
//	 * @return
//	 */
//	@SuppressWarnings({ "unchecked", "rawtypes", "unused" })
//	public JSONObject getBestPayParams(@ErpOrders.AnnoOrderId()String order,String clientIp,@RsUser.AnnoUserId() String userId,@Mobile(message="手机号码格式不正确") String mobile,@ErpOrders.AnnoOrderId() String totalMoney){
//		if (StringUtils.isBlank(order)) {
//			throw new BusinessException(Constants.ERRORS.VALIDATE_ERROR_CODE,
//					"订单号不能为空");
//		}
//		if (order.startsWith("FK")) {
//			throw new BusinessException(Constants.ERRORS.VALIDATE_ERROR_CODE,
//					"暂时不允许合并支付");
//		}
//		if (StringUtils.isBlank(clientIp)) {
//			throw new BusinessException(Constants.ERRORS.VALIDATE_ERROR_CODE,
//					"客户端IP不能为空");
//		}
//		if (StringUtils.isBlank(userId)) {
//			throw new BusinessException(Constants.ERRORS.VALIDATE_ERROR_CODE,
//					"用户编码不能为空");
//		}
//		if (StringUtils.isBlank(mobile)) {
//			throw new BusinessException(Constants.ERRORS.VALIDATE_ERROR_CODE,
//					"手机号不能为空");
//		}
//		JSONObject jsonObject = new JSONObject();
//		Map txnseqTempMap = new HashMap();
//		int mount;
//		txnseqTempMap.put(ErpTxnSeq.COL_ORDER_ID, order);
//		txnseqTempMap.put(ErpTxnSeq.COL_TXN_STATE, Constants.TXN_STATE.TXN_O0);
//		txnseqTempMap.put(ErpTxnSeq.COL_DEL_FLAG, "0");
//		SqlUtis.prepareSql(txnseqTempMap, 
//				SqlUtis.getSQL(txnseqTempMap, "a."+ ErpTxnSeq.COL_ORDER_ID,Types.VARCHAR,SqlUtis.EQ),
//				SqlUtis.getSQL(txnseqTempMap, "a."+ ErpTxnSeq.COL_TXN_STATE,Types.VARCHAR,SqlUtis.EQ),
//				SqlUtis.getSQL(txnseqTempMap, "a."+ ErpTxnSeq.COL_DEL_FLAG,Types.VARCHAR,SqlUtis.EQ));
//		ErpTxnSeq erptxnseq = erpTxnSeqService.one(txnseqTempMap);
//		Map formMap = new HashMap();
//		String fk = order.substring(0, 2);
//		ErpOrders erpOrder = new ErpOrders();
//		if(fk.equals("FK")){
//			formMap.put(ErpOrders.COL_PAY_NO, order);
//			List<Map> list = erpOrdersService.listBySql("select sum(a.total_amount)*100 as mount from erp_orders a  where a.pay_no='"+order+"'");
//			//1：查询订单列表中pay_no=order的所有子订单
//			Map tempMap = new HashMap();
//			tempMap.put(ErpOrders.COL_PAY_NO, order);
//			SqlUtis.prepareSql(tempMap,
//					SqlUtis.getSQL(tempMap, "a."+ ErpOrders.COL_PAY_NO,Types.VARCHAR,SqlUtis.EQ));
//			List<Map> totalOrders = erpOrdersService.list(tempMap);
//			//2：查询订单列表中pay_no=order and order_status_id=5的所有子订单
//			formMap.put(ErpOrders.COL_ORDER_STATUS_ID, "5");//待付款
//			SqlUtis.prepareSql(formMap,
//					SqlUtis.getSQL(formMap, "a."+ ErpOrders.COL_PAY_NO,Types.VARCHAR,SqlUtis.EQ),
//					SqlUtis.getSQL(formMap, "a."+ ErpOrders.COL_ORDER_STATUS_ID,Types.VARCHAR,SqlUtis.EQ));
//			List<Map> total = erpOrdersService.list(formMap);
//			//如果totalOrders的总数和total的总数不等则说明pay_no的子订单里有部分订单已支付，此时不给支付
//			if(totalOrders.size() != total.size()){
//				throw new BusinessException(Constants.ERRORS.VALIDATE_ERROR_CODE,
//						"此订单不允许支付");
//			}
//			mount = Integer.parseInt(list.get(0).get("MOUNT").toString());
//		}else{
//			//1：根据order去数据库查询order_id=order的订单判断其是否存在
//			formMap.put(ErpOrders.COL_ORDER_ID, order);
//			SqlUtis.prepareSql(formMap,
//					SqlUtis.getSQL(formMap, "a."+ ErpOrders.COL_ORDER_ID,Types.VARCHAR,SqlUtis.EQ));
//			erpOrder = erpOrdersService.one(formMap);
//			if(erpOrder == null){
//				throw new BusinessException(Constants.ERRORS.VALIDATE_ERROR_CODE,
//						"此订单不存在");
//			}
//			//2：判断订单的订单状态是否为待付款order_status_id=5
//			if(!erpOrder.getOrderStatusId().equals("5")){
//				throw new BusinessException(Constants.ERRORS.VALIDATE_ERROR_CODE,
//						"此订单为非待付款状态,不允许支付");
//			}
//			//3:判断订单的付款请求时间是否为空
//			if(erpOrder.getPayReqTime() != null){
//				throw new BusinessException(Constants.ERRORS.VALIDATE_ERROR_CODE,
//						"此订单已发送支付请求");
//			}
//			//4：判断订单的付款确认时间是否为空
//			if(erpOrder.getPayTime() != null){
//				throw new BusinessException(Constants.ERRORS.VALIDATE_ERROR_CODE,
//						"此订单已经支付完成了");
//			}
//			double totalAmount = Double.parseDouble(totalMoney);
//			totalMoney = String.valueOf(totalAmount);
//			if(!totalMoney.equals(String.valueOf(erpOrder.getTotalAmount()))){
//				throw new BusinessException(Constants.ERRORS.VALIDATE_ERROR_CODE,
//						"支付金额和订单金额不一致");
//			}
//			mount = (int) ((erpOrder.getTotalAmount())*100);
//		}
//		BasePay bestPay = BasePay.CreateNewWebPay("01", order, totalMoney);
//		String MERCHANTID ="";
//		String SUBMERCHANTID ="";
//		String ORDERSEQ = "";
//		String ORDERREQTRANSEQ ="";
//		String ORDERDATE = "";
//		String CURTYPE = "";
//		String ENCODETYPE = "";
//		String MERCHANTURL = "";
//		String BACKMERCHANTURL = "";
//		String ATTACH = "";
//		String BUSICODE = "";
//		String PRODUCTID = "";
//		String DIVDETAILS = "";
//		String PEDCNT = "";
//		String GMTOVERTIME = "";
//		String GOODPAYTYPE = "";
//		String GOODSCODE = "";
//		String GOODSNAME = "";
//		String KEY = "";
//		String MAC = "";
//		String ORDERAMOUNT = "";
//		String PRODUCTAMOUNT = "";
//		String ATTACHAMOUNT = "0";
//		String CUSTOMERID = "";
//		String PRODUCTDESC = "";
//		String TMNUM = "";
//		String PAYMENTWAY = "01";
//		int GOODSNUM = 1;//(不必填)商品数量
//		String CLIENTIP = "";
//		if(erptxnseq != null){
//			String delFlag = "1";//标识已删除
//			ErpTxnSeq tempTxn = new ErpTxnSeq();
//			tempTxn.setTxnSeqId(erptxnseq.getTxnSeqId());
//			tempTxn.setDelFlag(delFlag);
//			Map updateMap = new HashMap();
//			updateMap.put("erpTxnSeq", tempTxn);
//			updateMap.put(ErpTxnSeq.COL_TXN_SEQ_ID, erptxnseq.getTxnSeqId());
//			SqlUtis.prepareSql(updateMap,
//					SqlUtis.getSQL(updateMap, "a."+ ErpTxnSeq.COL_TXN_SEQ_ID,Types.VARCHAR,SqlUtis.EQ));
//			erpTxnSeqService.update(updateMap);
//		}
//			MERCHANTID = tempBestPay.getMerchantid();//商户号(由翼支付网关平台统一分配)
//			SUBMERCHANTID = tempBestPay.getSubmerchantId();//(不必填)子商户号:SUBMERCHANTID
//			ORDERSEQ = order;//订单号
//			ORDERREQTRANSEQ =tempBestPay.getSeq();//订单请求交易流水号
//			ORDERDATE = (new SimpleDateFormat("yyyyMMddHHmmss")).format(new Date());//订单日期
//			CURTYPE = tempBestPay.getCurtype();//币种(默认填 RMB)
//			ENCODETYPE = tempBestPay.getEncodetype();//加密方式(1：MD5摘要  默认)
//			//前台返回地址 ("http://183.60.181.99:8092/mall/shopweb/Transaction/prosceniumResult.do";):支付完成后返回的地址 (商户提供的用于接收交易返回的前台url，不做业务处理，仅仅用于前台页面显示结果)
//			MERCHANTURL = tempBestPay.getMerchanturl();
//			//后台返回地址("http://183.60.181.99:8092/mall/shopweb/Transaction/transactionResult.do")(商户提供的用于接收交易返回的后台url，用于实际的业务处理)
//			BACKMERCHANTURL = tempBestPay.getBackmerchanturl();
//			ATTACH = "";//(不必填)附加信息
//			BUSICODE = tempBestPay.getBusicode();//"0001";//业务类型(默认填0001)
//			PRODUCTID = tempBestPay.getProductId();//"08";//业务标识(08	一般网购 )
//			TMNUM =mobile ;//"02063730905";//终端号码(客户联系电话)
//			CUSTOMERID = userId;//"15818890999";//客户标识(客户登录名)
//			PRODUCTDESC = tempBestPay.Z_PRODUCTDESC+order;//(不必填)产品描述(产品名称、数量、客户名、联系电话)
//			DIVDETAILS =  tempBestPay.Z_DIVDETAILS;//(不必填)分账明细
//			ORDERAMOUNT = ""+mount;
//			PRODUCTAMOUNT = ""+mount;
//			PEDCNT = "";//(不必填)分账明细
//			GMTOVERTIME = "";//(不必填)订单关闭时间
//			GOODPAYTYPE="";//(不必填)商品付费类型
//			GOODSCODE = "";//(不必填)商品编码
//			GOODSNAME = "";//(不必填)商品名称
//			CLIENTIP = clientIp;//客户端IP
//			KEY = tempBestPay.getDKey();
//			
//			MAC = EncryptUtil.md5("MERCHANTID="+MERCHANTID+"&ORDERSEQ="+ORDERSEQ+"&ORDERREQSEQ="+ORDERREQTRANSEQ+"&ORDERDATE="+ORDERDATE+"&ORDERAMOUNT="+mount+"&ACCORGCODE="+"&FRONTMERCHANTURL="+MERCHANTURL+"&BACKMERCHANTURL="+BACKMERCHANTURL+"&ATTACH="+ATTACH+"&BUSITYPE="+BUSICODE+"&PRODUCTNO="+"&CLIENTIP="+clientIp+"&KEY="+KEY).toUpperCase();
//			String returnId = commonMethodService.saveTxnInfo(order, Constants.TRANS_TYPE.GO_PAY, Constants.ONLINE_PAYMENT.YI_ONLINE_PAY, Constants.MAINFRAME_TYPE.YI_PAY, ORDERREQTRANSEQ, Constants.TXN_STATE.TXN_O0, "", "",ORDERDATE,"",String.valueOf(ORDERAMOUNT),Constants.PAY_CHANNEL.PAY_WEB);
////		}else{
////			
////			MERCHANTID = tempBestPay.getMerchantid();//商户号(由翼支付网关平台统一分配)
////			SUBMERCHANTID = tempBestPay.getSubmerchantId();//(不必填)子商户号:SUBMERCHANTID
////			ORDERSEQ = erptxnseq.getOrderId();//订单号
////			ORDERREQTRANSEQ = erptxnseq.getExtTxnSeqId().trim();//订单请求交易流水号
////			ORDERDATE = erptxnseq.getInTxnDt().trim();//订单日期
////			CURTYPE = tempBestPay.getCurtype();//币种(默认填 RMB)
////			ENCODETYPE = tempBestPay.getEncodetype();//加密方式(1：MD5摘要  默认)
////			//前台返回地址 ("http://183.60.181.99:8092/mall/shopweb/Transaction/prosceniumResult.do";):支付完成后返回的地址 (商户提供的用于接收交易返回的前台url，不做业务处理，仅仅用于前台页面显示结果)
////			MERCHANTURL = tempBestPay.getMerchanturl();
////			//后台返回地址("http://183.60.181.99:8092/mall/shopweb/Transaction/transactionResult.do")(商户提供的用于接收交易返回的后台url，用于实际的业务处理)
////			BACKMERCHANTURL = tempBestPay.getBackmerchanturl();
////			ATTACH = "";//(不必填)附加信息
////			BUSICODE = tempBestPay.getBusicode();//"0001";//业务类型(默认填0001)
////			PRODUCTID = tempBestPay.getProductId();//"08";//业务标识(08	一般网购 )
////			TMNUM =mobile ;//"02063730905";//终端号码(客户联系电话)
////			CUSTOMERID = userId;//"15818890999";//客户标识(客户登录名)
////			PRODUCTDESC = tempBestPay.Z_PRODUCTDESC+order;//(不必填)产品描述(产品名称、数量、客户名、联系电话)
////			DIVDETAILS =  tempBestPay.Z_DIVDETAILS;//(不必填)分账明细
////			ORDERAMOUNT = ""+mount;
////			PRODUCTAMOUNT = ""+mount;
////			PEDCNT = "";//(不必填)分账明细
////			GMTOVERTIME = "";//(不必填)订单关闭时间
////			GOODPAYTYPE="";//(不必填)商品付费类型
////			GOODSCODE = "";//(不必填)商品编码
////			GOODSNAME = "";//(不必填)商品名称
////			CLIENTIP = clientIp;//客户端IP
////			KEY = tempBestPay.getDKey();
////			MAC = EncryptUtil.md5("MERCHANTID="+MERCHANTID+"&ORDERSEQ="+ORDERSEQ+"&ORDERDATE="+ORDERDATE+"&ORDERAMOUNT="+mount+"&CLIENTIP="+clientIp+"&KEY="+KEY).toUpperCase();
////		}
//		bestPay.SetPayInfo("MERCHANTID", MERCHANTID);
//		bestPay.SetPayInfo("SUBMERCHANTID", SUBMERCHANTID);
//		bestPay.SetPayInfo("ORDERREQTRANSEQ", ORDERREQTRANSEQ);
//		bestPay.SetPayInfo("ORDERDATE", ORDERDATE);
//		bestPay.SetPayInfo("ATTACHAMOUNT", ""+ATTACHAMOUNT);
//		bestPay.SetPayInfo("CURTYPE", CURTYPE);
//		bestPay.SetPayInfo("ENCODETYPE", ENCODETYPE);
//		bestPay.SetPayInfo("MERCHANTURL", MERCHANTURL);
//		bestPay.SetPayInfo("BACKMERCHANTURL", BACKMERCHANTURL);
//		bestPay.SetPayInfo("ATTACH", ATTACH);
//		bestPay.SetPayInfo("BUSICODE", BUSICODE);
//		bestPay.SetPayInfo("PRODUCTID", PRODUCTID);
//		bestPay.SetPayInfo("DIVDETAILS", DIVDETAILS);
//		bestPay.SetPayInfo("PEDCNT", PEDCNT);
//		bestPay.SetPayInfo("GMTOVERTIME", GMTOVERTIME);
//		bestPay.SetPayInfo("GOODPAYTYPE", GOODPAYTYPE);
//		bestPay.SetPayInfo("GOODSCODE", GOODSCODE);
//		bestPay.SetPayInfo("GOODSNAME", GOODSNAME);
//		bestPay.SetPayInfo("GOODSNUM", ""+GOODSNUM);
//		bestPay.SetPayInfo("CLIENTIP", clientIp);
//		bestPay.SetPayInfo("TMNUM", mobile);
//		bestPay.SetPayInfo("ORDERSEQ", order);
//		bestPay.SetPayInfo("ORDERAMOUNT", ""+mount);
//		bestPay.SetPayInfo("PRODUCTAMOUNT", ""+mount);
//		bestPay.SetPayInfo("PRODUCTDESC", ""+order);
//		bestPay.SetPayInfo("CUSTOMERID", userId);
//		bestPay.SetPayInfo("KEY", KEY);
//		bestPay.SetPayInfo("PAYMENTWAY",PAYMENTWAY);
//		bestPay.SetPayInfo("MAC", MAC);
//		jsonObject = bestPay.GenerateForm();
//		if(jsonObject.get("code").toString().equals("1")){
//			return executeRerutn(jsonObject);
//		}
//		else{
//			return executeRerutnFail(jsonObject);
//		}
//	}
//	/**
//	 * 支付后前台接收返回参数
//	 * @param bANKID(必填)银行编码
//	 * @param uPTRANSEQ(必填)平台交易流水
//	 * @param tRANDATE
//	 * @param sIGN
//	 * @param uPREQTRANSEQ(必填)请求银行流水号
//	 * @param oRDERREQTRANSEQ
//	 * @param rETNINFO(必填)//处理结果解释
//	 * @param uPBANKTRANSEQ(必填)//银行流水
//	 * @param mERCHANTID
//	 * @param cURTYPE
//	 * @param rETNCODE(必填)处理结果码
//	 * @param oRDERAMOUNT
//	 * @param pRODUCTNO
//	 * @param oRDERSEQ
//	 * @param aTTACH
//	 * @param eNCODETYPE
//	 * @param pRODUCTAMOUNT
//	 * @param aTTACHAMOUNT
//	 * @param userId
//	 * @return
//	 */
//	public JSONObject NotifyFront(@Security String bANKID,
//			@Security String uPTRANSEQ, @Security String tRANDATE, @Security String sIGN,
//			@Security String uPREQTRANSEQ, @Security String oRDERREQTRANSEQ, @Security String rETNINFO,
//			@Security String uPBANKTRANSEQ, @Security String mERCHANTID, @Security String cURTYPE,
//			@Security String rETNCODE, @Security String oRDERAMOUNT, @Security String pRODUCTNO,
//			@Security String oRDERSEQ, @Security String aTTACH, @Security String eNCODETYPE,
//			@Security String pRODUCTAMOUNT, @Security String aTTACHAMOUNT,@RsUser.AnnoUserId String userId,@Security String orderDate){
//		JSONObject jsonObject = new JSONObject();
//		if (StringUtils.isBlank(userId)) {
//			throw new BusinessException(Constants.ERRORS.VALIDATE_ERROR_CODE,
//					"用户编码不能为空");
//		}
//		if (StringUtils.isBlank(bANKID)) {
//			throw new BusinessException(Constants.ERRORS.VALIDATE_ERROR_CODE,
//					"银行编码不能为空");
//		}
//		if (StringUtils.isBlank(uPTRANSEQ)) {
//			throw new BusinessException(Constants.ERRORS.VALIDATE_ERROR_CODE,
//					"平台交易流水不能为空");
//		}
//		if (StringUtils.isBlank(uPREQTRANSEQ)) {
//			throw new BusinessException(Constants.ERRORS.VALIDATE_ERROR_CODE,
//					"请求银行流水号不能为空");
//		}
//		if (StringUtils.isBlank(rETNINFO)) {
//			throw new BusinessException(Constants.ERRORS.VALIDATE_ERROR_CODE,
//					"处理结果解释不能为空");
//		}
//		if (StringUtils.isBlank(uPBANKTRANSEQ)) {
//			throw new BusinessException(Constants.ERRORS.VALIDATE_ERROR_CODE,
//					"银行流水不能为空");
//		}
//		if (StringUtils.isBlank(rETNCODE)) {
//			throw new BusinessException(Constants.ERRORS.VALIDATE_ERROR_CODE,
//					"处理结果码不能为空");
//		}
//		BasePay bestPay = BasePay.CreateNewWebPay("01", oRDERSEQ, oRDERAMOUNT);
//		bestPay.setParameter("oRDERSEQ", oRDERSEQ);
//		bestPay.setParameter("oRDERREQTRANSEQ", oRDERREQTRANSEQ);
//		bestPay.setParameter("rETNCODE", rETNCODE);
//		bestPay.setParameter("rETNINFO", rETNINFO);
//		bestPay.setParameter("orderDate", orderDate);
//		bestPay.setParameter("tRANDATE", tRANDATE);
//		bestPay.setParameter("oRDERAMOUNT", oRDERAMOUNT);
//		jsonObject = bestPay.NotifyFrontInfo();
//		return jsonObject;
//		}
//	/**
//	 * 后台通知
//	 * @param tempSign
//	 * @param sign
//	 * @param UPTRANSEQ
//	 * @param TRANDATE
//	 * @param RETNCODE
//	 * @param RETNINFO
//	 * @param ORDERREQTRANSEQ
//	 * @param ORDERSEQ
//	 * @param ORDERAMOUNT
//	 * @param PRODUCTAMOUNT
//	 * @param ATTACHAMOUNT
//	 * @param CURTYPE
//	 * @param ENCODETYPE
//	 * @param BANKID
//	 * @param ATTACH
//	 * @param UPREQTRANSEQ
//	 * @param UPBANKTRANSEQ
//	 * @param PRODUCTNO
//	 * @param userId
//	 * @param txnDt
//	 * @return
//	 */
//	public JSONObject NotifyBack(@Security String tempSign,@Security String sign,@Security String UPTRANSEQ,
//			@Security String TRANDATE,@Security String RETNCODE,@Security String RETNINFO,@Security String ORDERREQTRANSEQ,@Security String ORDERSEQ,@Security String ORDERAMOUNT,
//			@Security String PRODUCTAMOUNT,@Security String ATTACHAMOUNT,@Security String CURTYPE,@Security String ENCODETYPE,@Security String BANKID,@Security String ATTACH,
//			@Security String UPREQTRANSEQ,@Security String UPBANKTRANSEQ,@Security String PRODUCTNO,@Security String userId,@Security String orderDate){
//		JSONObject jsonObject = new JSONObject();
//		if (StringUtils.isBlank(tempSign)) {
//			throw new BusinessException(Constants.ERRORS.VALIDATE_ERROR_CODE,
//					"临时签名不能为空");
//		}
//		if (StringUtils.isBlank(sign)) {
//			throw new BusinessException(Constants.ERRORS.VALIDATE_ERROR_CODE,
//					"返回签名不能为空");
//		}
//		if (StringUtils.isBlank(UPTRANSEQ)) {
//			throw new BusinessException(Constants.ERRORS.VALIDATE_ERROR_CODE,
//					"平台交易流水号不能为空");
//		}
//		if (StringUtils.isBlank(TRANDATE)) {
//			throw new BusinessException(Constants.ERRORS.VALIDATE_ERROR_CODE,
//					"交易日期不能为空");
//		}
//		if (StringUtils.isBlank(RETNCODE)) {
//			throw new BusinessException(Constants.ERRORS.VALIDATE_ERROR_CODE,
//					"处理结果码不能为空");
//		}
//		if (StringUtils.isBlank(RETNINFO)) {
//			throw new BusinessException(Constants.ERRORS.VALIDATE_ERROR_CODE,
//					"处理结果解释不能为空");
//		}
//		if (StringUtils.isBlank(ORDERREQTRANSEQ)) {
//			throw new BusinessException(Constants.ERRORS.VALIDATE_ERROR_CODE,
//					"订单请求交易流水号不能为空");
//		}
//		if (StringUtils.isBlank(ORDERSEQ)) {
//			throw new BusinessException(Constants.ERRORS.VALIDATE_ERROR_CODE,
//					"订单请求号不能为空");
//		}
//		if (StringUtils.isBlank(ORDERAMOUNT)) {
//			throw new BusinessException(Constants.ERRORS.VALIDATE_ERROR_CODE,
//					"订单总金额不能为空");
//		}
//		if (StringUtils.isBlank(PRODUCTAMOUNT)) {
//			throw new BusinessException(Constants.ERRORS.VALIDATE_ERROR_CODE,
//					"产品金额不能为空");
//		}
//		if (StringUtils.isBlank(ATTACHAMOUNT)) {
//			throw new BusinessException(Constants.ERRORS.VALIDATE_ERROR_CODE,
//					"附加金额不能为空");
//		}
//		if (StringUtils.isBlank(CURTYPE)) {
//			throw new BusinessException(Constants.ERRORS.VALIDATE_ERROR_CODE,
//					"币种不能为空");
//		}
//		if (StringUtils.isBlank(ENCODETYPE)) {
//			throw new BusinessException(Constants.ERRORS.VALIDATE_ERROR_CODE,
//					"加密方式不能为空");
//		}
//		if (StringUtils.isBlank(BANKID)) {
//			throw new BusinessException(Constants.ERRORS.VALIDATE_ERROR_CODE,
//					"银行编码不能为空");
//		}
//		if(!tempSign.equals(sign)){
//			throw new BusinessException(Constants.ERRORS.VALIDATE_ERROR_CODE,
//					"返回信息被篡改");
//		}
//		BasePay bestPay = BasePay.CreateNewWebPay("01", ORDERSEQ, ORDERAMOUNT);
//		bestPay.setParameter("ORDERSEQ", ORDERSEQ);
//		bestPay.setParameter("ORDERREQTRANSEQ", ORDERREQTRANSEQ);
//		bestPay.setParameter("RETNCODE", RETNCODE);
//		bestPay.setParameter("RETNINFO", RETNINFO);
//		bestPay.setParameter("orderDate", orderDate);
//		bestPay.setParameter("TRANDATE", TRANDATE);
//		bestPay.setParameter("ORDERAMOUNT", ORDERAMOUNT);
//		jsonObject = bestPay.NotifyBackInfo();
//		return jsonObject;
//	}
//	/**
//	 * 退款
//	 * @param userId
//	 * @param oldOrderId 原扣款订单号
//	 * @param type 订单在线支付类型
//	 * @return
//	 */
//	@SuppressWarnings({ "unchecked", "rawtypes" })
//	public JSONObject refund(@RsUser.AnnoUserId() String userId,@Security String type,@ErpOrders.AnnoOrderId String oldOrderId){
//		JSONObject jsonObject = new JSONObject();
//		if (StringUtils.isBlank(oldOrderId)) {
//			throw new BusinessException(Constants.ERRORS.VALIDATE_ERROR_CODE,
//					"原扣款订单号不能为空");
//		}
//		//如果是翼支付退款
//			Map tempMap = new HashMap();
//			tempMap.put(ErpTxnSeq.COL_ORDER_ID, oldOrderId);
//			tempMap.put(ErpTxnSeq.COL_RES_CODE, "0000");//支付成功
//			tempMap.put(ErpTxnSeq.COL_PAY_TYPE, Constants.ONLINE_PAYMENT.YI_ONLINE_PAY);//支付方式:01翼支付02银联支付
//			tempMap.put(ErpTxnSeq.COL_TXN_TYPE, Constants.TRANS_TYPE.GO_PAY);//交易类型:00支付;01退款;
//			tempMap.put(ErpTxnSeq.COL_TXN_STATE, Constants.TXN_STATE.TXN_O2);//交易状态必须是发起成功
//			SqlUtis.prepareSql(tempMap,
//					SqlUtis.getSQL(tempMap, "a."+ ErpTxnSeq.COL_ORDER_ID,Types.VARCHAR,SqlUtis.EQ),
//					SqlUtis.getSQL(tempMap, "a."+ ErpTxnSeq.COL_TXN_STATE,Types.VARCHAR,SqlUtis.EQ),
//					SqlUtis.getSQL(tempMap, "a."+ ErpTxnSeq.COL_RES_CODE,Types.VARCHAR,SqlUtis.EQ),
//					SqlUtis.getSQL(tempMap, "a."+ ErpTxnSeq.COL_PAY_TYPE,Types.VARCHAR,SqlUtis.EQ),
//					SqlUtis.getSQL(tempMap, "a."+ ErpTxnSeq.COL_TXN_TYPE,Types.VARCHAR,SqlUtis.EQ));
//			ErpTxnSeq erpTxnSeq = erpTxnSeqService.one(tempMap);
//			if(erpTxnSeq == null){
//				throw new BusinessException(Constants.ERRORS.VALIDATE_ERROR_CODE,
//						"找不到翼支付的支付成功订单");
//			}
//			BasePay bestPay = BasePay.CreateNewWebPay("01", erpTxnSeq.getOrderId(), erpTxnSeq.getTxnAmt());
//			jsonObject = bestPay.Refund();
//		return jsonObject;
//	}
//}
